/**
 * 房间危险区域类型
 */
export enum RoomDangerAreaType {
    /**
     * 安全区域
     */
    safe,
    /**
     * 墙外区域
     */
    outside,
    /**
     * 自然墙，非人工墙！
     */
    wall,
    /**
     * 人造墙
     */
    constructedWall,
    /**
     * rampart
     */
    rampart,
    /**
     * 墙内可能被打到的区域
     */
    inside,
}

/**
 * 不同区域的颜色
 */
export const RoomDangerAreaColor: { [type in RoomDangerAreaType]: string } = {
    [RoomDangerAreaType.safe]: '#00ff00',
    [RoomDangerAreaType.outside]: '#ff0000',
    [RoomDangerAreaType.wall]: '#000000',
    [RoomDangerAreaType.constructedWall]: '#000000',
    [RoomDangerAreaType.rampart]: '#ffff00',
    [RoomDangerAreaType.inside]: '#ff00ff',
}

/**
 * 不同区域寻路权重，共用，其他地方不可直接修改此对象！
 */
export const RoomDangerAreaWeight: { [type in RoomDangerAreaType]: number } = {
    [RoomDangerAreaType.safe]: 1,
    [RoomDangerAreaType.outside]: 255,
    [RoomDangerAreaType.wall]: 255,
    [RoomDangerAreaType.constructedWall]: 255,
    [RoomDangerAreaType.rampart]: 1,
    [RoomDangerAreaType.inside]: 200,
}

/**
 * rampart pos set
 */
export type RampartPosSet = { [pos: `${number}/${number}`]: string }
